﻿using Microsoft.Xna.Framework;

namespace KaroGame.FrontEnd
{
    public interface IConeProvider
    {
        KaroCone this[int index]
        {
            get;
            set;
        }

        void LoadContent();

        void Add(int tileId, ConeType coneType);

        KaroCone Remove(int tileId);
        void Remove(KaroCone cone);

        void Clear();

        KaroCone GetById( int tileId );

        void Move( int coneId, int tileId, bool shouldBeFlipped );
        int Select(Ray mouseRay, ref float distance);

        void Activate(int coneId);
        void Deactivate();

        void Select(int coneId);
        void Deselect();
    }
}